package com.ruoyi.lab.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 库存表
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "库存表")
@Data
@TableName(value = "lab_inventory")
public class LabInventory extends BaseEntity implements Serializable {
    /**
     * 库存记录ID，唯一标识符
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "库存记录ID，唯一标识符")
    private String id;

    /**
     * 设备ID，关联到设备表
     */
    @TableField(value = "equipment_id")
    @ApiModelProperty(value = "设备ID，关联到设备表")
    private String equipmentId;

    @TableField(exist = false)
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;

    /**
     * 交易类型（'1'：入库，'2'：出库）
     */
    @TableField(value = "transaction_type")
    @ApiModelProperty(value = "交易类型（'1'：入库，'2'：出库）")
    private String transactionType;

    /**
     * 交易日期
     */
    @TableField(value = "transaction_date")
    @ApiModelProperty(value = "交易日期")
    private Date transactionDate;

    /**
     * 操作人员
     */
    @TableField(value = "`operator`")
    @ApiModelProperty(value = "操作人员")
    private String operator;

    /**
     * 交易数量
     */
    @TableField(value = "quantity")
    @ApiModelProperty(value = "交易数量")
    private Integer quantity;

    /**
     * 备注信息
     */
    @TableField(value = "notes")
    @ApiModelProperty(value = "备注信息")
    private String notes;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField(value = "del_flag")
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    private static final long serialVersionUID = 1L;
}